.class public Lorg/jboss/netty/handler/codec/http/HttpHeaders;
.super Ljava/lang/Object;
.source "HttpHeaders.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;,
        Lorg/jboss/netty/handler/codec/http/HttpHeaders$Values;,
        Lorg/jboss/netty/handler/codec/http/HttpHeaders$Names;
    }
.end annotation


# static fields
.field private static final BUCKET_SIZE:I = 0x11


# instance fields
.field private final entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

.field private final head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;


# direct methods
.method constructor <init>()V
    .locals 3

    .prologue
    const/4 v2, 0x0

    .line 783
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 780
    const/16 v0, 0x11

    new-array v0, v0, [Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v0, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 781
    new-instance v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    const/4 v1, -0x1

    invoke-direct {v0, v1, v2, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;-><init>(ILjava/lang/String;Ljava/lang/String;)V

    iput-object v0, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 784
    iget-object v0, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v1, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v2, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v2, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->before:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 785
    return-void
.end method

.method public static addHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/Object;)V
    .locals 0
    .parameter "message"
    .parameter "name"
    .parameter "value"

    .prologue
    .line 533
    invoke-interface {p0, p1, p2}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->addHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 534
    return-void
.end method

.method private addHeader0(IILjava/lang/String;Ljava/lang/String;)V
    .locals 3
    .parameter "h"
    .parameter "i"
    .parameter "name"
    .parameter "value"

    .prologue
    .line 802
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    aget-object v0, v2, p2

    .line 804
    .local v0, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    new-instance v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    invoke-direct {v1, p1, p3, p4}, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;-><init>(ILjava/lang/String;Ljava/lang/String;)V

    .local v1, newEntry:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    aput-object v1, v2, p2

    .line 805
    iput-object v0, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 808
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    invoke-virtual {v1, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->addBefore(Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;)V

    .line 809
    return-void
.end method

.method public static addIntHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;I)V
    .locals 1
    .parameter "message"
    .parameter "name"
    .parameter "value"

    .prologue
    .line 594
    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {p0, p1, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->addHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 595
    return-void
.end method

.method private static eq(Ljava/lang/String;Ljava/lang/String;)Z
    .locals 8
    .parameter "name1"
    .parameter "name2"

    .prologue
    const/16 v7, 0x5a

    const/16 v6, 0x41

    const/4 v4, 0x0

    .line 753
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v3

    .line 754
    .local v3, nameLen:I
    invoke-virtual {p1}, Ljava/lang/String;->length()I

    move-result v5

    if-eq v3, v5, :cond_1

    .line 773
    :cond_0
    :goto_0
    return v4

    .line 758
    :cond_1
    add-int/lit8 v2, v3, -0x1

    .local v2, i:I
    :goto_1
    if-ltz v2, :cond_5

    .line 759
    invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C

    move-result v0

    .line 760
    .local v0, c1:C
    invoke-virtual {p1, v2}, Ljava/lang/String;->charAt(I)C

    move-result v1

    .line 761
    .local v1, c2:C
    if-eq v0, v1, :cond_4

    .line 762
    if-lt v0, v6, :cond_2

    if-gt v0, v7, :cond_2

    .line 763
    add-int/lit8 v5, v0, 0x20

    int-to-char v0, v5

    .line 765
    :cond_2
    if-lt v1, v6, :cond_3

    if-gt v1, v7, :cond_3

    .line 766
    add-int/lit8 v5, v1, 0x20

    int-to-char v1, v5

    .line 768
    :cond_3
    if-ne v0, v1, :cond_0

    .line 758
    :cond_4
    add-int/lit8 v2, v2, -0x1

    goto :goto_1

    .line 773
    .end local v0           #c1:C
    .end local v1           #c2:C
    :cond_5
    const/4 v4, 0x1

    goto :goto_0
.end method

.method public static getContentLength(Lorg/jboss/netty/handler/codec/http/HttpMessage;)J
    .locals 2
    .parameter "message"

    .prologue
    .line 607
    const-wide/16 v0, 0x0

    invoke-static {p0, v0, v1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->getContentLength(Lorg/jboss/netty/handler/codec/http/HttpMessage;J)J

    move-result-wide v0

    return-wide v0
.end method

.method public static getContentLength(Lorg/jboss/netty/handler/codec/http/HttpMessage;J)J
    .locals 5
    .parameter "message"
    .parameter "defaultValue"

    .prologue
    .line 620
    const-string v3, "Content-Length"

    invoke-interface {p0, v3}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 621
    .local v0, contentLength:Ljava/lang/String;
    if-eqz v0, :cond_1

    .line 622
    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide p1

    .line 642
    .end local p1
    :cond_0
    :goto_0
    return-wide p1

    .line 626
    .restart local p1
    :cond_1
    instance-of v3, p0, Lorg/jboss/netty/handler/codec/http/HttpRequest;

    if-eqz v3, :cond_2

    move-object v1, p0

    .line 627
    check-cast v1, Lorg/jboss/netty/handler/codec/http/HttpRequest;

    .line 628
    .local v1, req:Lorg/jboss/netty/handler/codec/http/HttpRequest;
    sget-object v3, Lorg/jboss/netty/handler/codec/http/HttpMethod;->GET:Lorg/jboss/netty/handler/codec/http/HttpMethod;

    invoke-interface {v1}, Lorg/jboss/netty/handler/codec/http/HttpRequest;->getMethod()Lorg/jboss/netty/handler/codec/http/HttpMethod;

    move-result-object v4

    invoke-virtual {v3, v4}, Lorg/jboss/netty/handler/codec/http/HttpMethod;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-eqz v3, :cond_0

    const-string v3, "Sec-WebSocket-Key1"

    invoke-interface {v1, v3}, Lorg/jboss/netty/handler/codec/http/HttpRequest;->containsHeader(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_0

    const-string v3, "Sec-WebSocket-Key2"

    invoke-interface {v1, v3}, Lorg/jboss/netty/handler/codec/http/HttpRequest;->containsHeader(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_0

    .line 631
    const-wide/16 p1, 0x8

    goto :goto_0

    .line 633
    .end local v1           #req:Lorg/jboss/netty/handler/codec/http/HttpRequest;
    :cond_2
    instance-of v3, p0, Lorg/jboss/netty/handler/codec/http/HttpResponse;

    if-eqz v3, :cond_0

    move-object v2, p0

    .line 634
    check-cast v2, Lorg/jboss/netty/handler/codec/http/HttpResponse;

    .line 635
    .local v2, res:Lorg/jboss/netty/handler/codec/http/HttpResponse;
    invoke-interface {v2}, Lorg/jboss/netty/handler/codec/http/HttpResponse;->getStatus()Lorg/jboss/netty/handler/codec/http/HttpResponseStatus;

    move-result-object v3

    invoke-virtual {v3}, Lorg/jboss/netty/handler/codec/http/HttpResponseStatus;->getCode()I

    move-result v3

    const/16 v4, 0x65

    if-ne v3, v4, :cond_0

    const-string v3, "Sec-WebSocket-Origin"

    invoke-interface {v2, v3}, Lorg/jboss/netty/handler/codec/http/HttpResponse;->containsHeader(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_0

    const-string v3, "Sec-WebSocket-Location"

    invoke-interface {v2, v3}, Lorg/jboss/netty/handler/codec/http/HttpResponse;->containsHeader(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_0

    .line 638
    const-wide/16 p1, 0x10

    goto :goto_0
.end method

.method public static getHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "message"
    .parameter "name"

    .prologue
    .line 494
    invoke-interface {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "message"
    .parameter "name"
    .parameter "defaultValue"

    .prologue
    .line 506
    invoke-interface {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 507
    .local v0, value:Ljava/lang/String;
    if-nez v0, :cond_0

    .line 510
    .end local p2
    :goto_0
    return-object p2

    .restart local p2
    :cond_0
    move-object p2, v0

    goto :goto_0
.end method

.method public static getHost(Lorg/jboss/netty/handler/codec/http/HttpMessage;)Ljava/lang/String;
    .locals 1
    .parameter "message"

    .prologue
    .line 656
    const-string v0, "Host"

    invoke-interface {p0, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getHost(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)Ljava/lang/String;
    .locals 1
    .parameter "message"
    .parameter "defaultValue"

    .prologue
    .line 664
    const-string v0, "Host"

    invoke-static {p0, v0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->getHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getIntHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)I
    .locals 3
    .parameter "message"
    .parameter "name"

    .prologue
    .line 546
    invoke-static {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->getHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 547
    .local v0, value:Ljava/lang/String;
    if-nez v0, :cond_0

    .line 548
    new-instance v1, Ljava/lang/NumberFormatException;

    const-string v2, "null"

    invoke-direct {v1, v2}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 550
    :cond_0
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v1

    return v1
.end method

.method public static getIntHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;I)I
    .locals 2
    .parameter "message"
    .parameter "name"
    .parameter "defaultValue"

    .prologue
    .line 562
    invoke-static {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->getHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 563
    .local v1, value:Ljava/lang/String;
    if-nez v1, :cond_0

    .line 570
    .end local p2
    :goto_0
    return p2

    .line 568
    .restart local p2
    :cond_0
    :try_start_0
    invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    :try_end_0
    .catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0

    move-result p2

    goto :goto_0

    .line 569
    :catch_0
    move-exception v0

    .line 570
    .local v0, e:Ljava/lang/NumberFormatException;
    goto :goto_0
.end method

.method private static hash(Ljava/lang/String;)I
    .locals 4
    .parameter "name"

    .prologue
    .line 734
    const/4 v1, 0x0

    .line 735
    .local v1, h:I
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v3

    add-int/lit8 v2, v3, -0x1

    .local v2, i:I
    :goto_0
    if-ltz v2, :cond_1

    .line 736
    invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C

    move-result v0

    .line 737
    .local v0, c:C
    const/16 v3, 0x41

    if-lt v0, v3, :cond_0

    const/16 v3, 0x5a

    if-gt v0, v3, :cond_0

    .line 738
    add-int/lit8 v3, v0, 0x20

    int-to-char v0, v3

    .line 740
    :cond_0
    mul-int/lit8 v3, v1, 0x1f

    add-int v1, v3, v0

    .line 735
    add-int/lit8 v2, v2, -0x1

    goto :goto_0

    .line 743
    .end local v0           #c:C
    :cond_1
    if-lez v1, :cond_2

    .line 748
    .end local v1           #h:I
    :goto_1
    return v1

    .line 745
    .restart local v1       #h:I
    :cond_2
    const/high16 v3, -0x8000

    if-ne v1, v3, :cond_3

    .line 746
    const v1, 0x7fffffff

    goto :goto_1

    .line 748
    :cond_3
    neg-int v1, v1

    goto :goto_1
.end method

.method private static index(I)I
    .locals 1
    .parameter "hash"

    .prologue
    .line 777
    rem-int/lit8 v0, p0, 0x11

    return v0
.end method

.method public static is100ContinueExpected(Lorg/jboss/netty/handler/codec/http/HttpMessage;)Z
    .locals 7
    .parameter "message"

    .prologue
    const/4 v4, 0x1

    const/4 v3, 0x0

    .line 680
    instance-of v5, p0, Lorg/jboss/netty/handler/codec/http/HttpRequest;

    if-nez v5, :cond_1

    .line 704
    :cond_0
    :goto_0
    return v3

    .line 685
    :cond_1
    invoke-interface {p0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getProtocolVersion()Lorg/jboss/netty/handler/codec/http/HttpVersion;

    move-result-object v5

    sget-object v6, Lorg/jboss/netty/handler/codec/http/HttpVersion;->HTTP_1_1:Lorg/jboss/netty/handler/codec/http/HttpVersion;

    invoke-virtual {v5, v6}, Lorg/jboss/netty/handler/codec/http/HttpVersion;->compareTo(Lorg/jboss/netty/handler/codec/http/HttpVersion;)I

    move-result v5

    if-ltz v5, :cond_0

    .line 690
    const-string v5, "Expect"

    invoke-interface {p0, v5}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 691
    .local v2, value:Ljava/lang/String;
    if-eqz v2, :cond_0

    .line 694
    const-string v5, "100-continue"

    invoke-virtual {v5, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v5

    if-eqz v5, :cond_2

    move v3, v4

    .line 695
    goto :goto_0

    .line 699
    :cond_2
    const-string v5, "Expect"

    invoke-interface {p0, v5}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeaders(Ljava/lang/String;)Ljava/util/List;

    move-result-object v5

    invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v0

    .local v0, i$:Ljava/util/Iterator;
    :cond_3
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v5

    if-eqz v5, :cond_0

    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    .line 700
    .local v1, v:Ljava/lang/String;
    const-string v5, "100-continue"

    invoke-virtual {v5, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v5

    if-eqz v5, :cond_3

    move v3, v4

    .line 701
    goto :goto_0
.end method

.method public static isKeepAlive(Lorg/jboss/netty/handler/codec/http/HttpMessage;)Z
    .locals 3
    .parameter "message"

    .prologue
    const/4 v1, 0x0

    .line 439
    const-string v2, "Connection"

    invoke-interface {p0, v2}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 440
    .local v0, connection:Ljava/lang/String;
    const-string v2, "close"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_1

    .line 447
    :cond_0
    :goto_0
    return v1

    .line 444
    :cond_1
    invoke-interface {p0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getProtocolVersion()Lorg/jboss/netty/handler/codec/http/HttpVersion;

    move-result-object v2

    invoke-virtual {v2}, Lorg/jboss/netty/handler/codec/http/HttpVersion;->isKeepAliveDefault()Z

    move-result v2

    if-eqz v2, :cond_2

    .line 445
    const-string v2, "close"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_0

    const/4 v1, 0x1

    goto :goto_0

    .line 447
    :cond_2
    const-string v1, "keep-alive"

    invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v1

    goto :goto_0
.end method

.method private removeHeader0(IILjava/lang/String;)V
    .locals 4
    .parameter "h"
    .parameter "i"
    .parameter "name"

    .prologue
    .line 821
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    aget-object v0, v2, p2

    .line 822
    .local v0, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    if-nez v0, :cond_0

    .line 854
    :goto_0
    return-void

    .line 827
    :cond_0
    :goto_1
    iget v2, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->hash:I

    if-ne v2, p1, :cond_3

    iget-object v2, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->key:Ljava/lang/String;

    invoke-static {p3, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->eq(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_3

    .line 828
    invoke-virtual {v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->remove()V

    .line 829
    iget-object v1, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 830
    .local v1, next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    if-eqz v1, :cond_1

    .line 831
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    aput-object v1, v2, p2

    .line 832
    move-object v0, v1

    goto :goto_1

    .line 834
    :cond_1
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    const/4 v3, 0x0

    aput-object v3, v2, p2

    goto :goto_0

    .line 847
    :cond_2
    iget v2, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->hash:I

    if-ne v2, p1, :cond_4

    iget-object v2, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->key:Ljava/lang/String;

    invoke-static {p3, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->eq(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_4

    .line 848
    iget-object v2, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v2, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 849
    invoke-virtual {v1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->remove()V

    .line 843
    .end local v1           #next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    :cond_3
    :goto_2
    iget-object v1, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 844
    .restart local v1       #next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    if-nez v1, :cond_2

    goto :goto_0

    .line 851
    :cond_4
    move-object v0, v1

    goto :goto_2
.end method

.method public static set100ContinueExpected(Lorg/jboss/netty/handler/codec/http/HttpMessage;)V
    .locals 1
    .parameter "message"

    .prologue
    .line 713
    const/4 v0, 0x1

    invoke-static {p0, v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->set100ContinueExpected(Lorg/jboss/netty/handler/codec/http/HttpMessage;Z)V

    .line 714
    return-void
.end method

.method public static set100ContinueExpected(Lorg/jboss/netty/handler/codec/http/HttpMessage;Z)V
    .locals 2
    .parameter "message"
    .parameter "set"

    .prologue
    .line 724
    if-eqz p1, :cond_0

    .line 725
    const-string v0, "Expect"

    const-string v1, "100-continue"

    invoke-interface {p0, v0, v1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 729
    :goto_0
    return-void

    .line 727
    :cond_0
    const-string v0, "Expect"

    invoke-interface {p0, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->removeHeader(Ljava/lang/String;)V

    goto :goto_0
.end method

.method public static setContentLength(Lorg/jboss/netty/handler/codec/http/HttpMessage;J)V
    .locals 2
    .parameter "message"
    .parameter "length"

    .prologue
    .line 649
    const-string v0, "Content-Length"

    invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v1

    invoke-interface {p0, v0, v1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 650
    return-void
.end method

.method public static setHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/Iterable;)V
    .locals 0
    .parameter "message"
    .parameter "name"
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lorg/jboss/netty/handler/codec/http/HttpMessage;",
            "Ljava/lang/String;",
            "Ljava/lang/Iterable",
            "<*>;)V"
        }
    .end annotation

    .prologue
    .line 526
    .local p2, values:Ljava/lang/Iterable;,"Ljava/lang/Iterable<*>;"
    invoke-interface {p0, p1, p2}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Iterable;)V

    .line 527
    return-void
.end method

.method public static setHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/Object;)V
    .locals 0
    .parameter "message"
    .parameter "name"
    .parameter "value"

    .prologue
    .line 518
    invoke-interface {p0, p1, p2}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 519
    return-void
.end method

.method public static setHost(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;)V
    .locals 1
    .parameter "message"
    .parameter "value"

    .prologue
    .line 671
    const-string v0, "Host"

    invoke-interface {p0, v0, p1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 672
    return-void
.end method

.method public static setIntHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;I)V
    .locals 1
    .parameter "message"
    .parameter "name"
    .parameter "value"

    .prologue
    .line 579
    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {p0, p1, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    .line 580
    return-void
.end method

.method public static setIntHeader(Lorg/jboss/netty/handler/codec/http/HttpMessage;Ljava/lang/String;Ljava/lang/Iterable;)V
    .locals 0
    .parameter "message"
    .parameter "name"
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lorg/jboss/netty/handler/codec/http/HttpMessage;",
            "Ljava/lang/String;",
            "Ljava/lang/Iterable",
            "<",
            "Ljava/lang/Integer;",
            ">;)V"
        }
    .end annotation

    .prologue
    .line 587
    .local p2, values:Ljava/lang/Iterable;,"Ljava/lang/Iterable<Ljava/lang/Integer;>;"
    invoke-interface {p0, p1, p2}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Iterable;)V

    .line 588
    return-void
.end method

.method public static setKeepAlive(Lorg/jboss/netty/handler/codec/http/HttpMessage;Z)V
    .locals 2
    .parameter "message"
    .parameter "keepAlive"

    .prologue
    .line 471
    invoke-interface {p0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->getProtocolVersion()Lorg/jboss/netty/handler/codec/http/HttpVersion;

    move-result-object v0

    invoke-virtual {v0}, Lorg/jboss/netty/handler/codec/http/HttpVersion;->isKeepAliveDefault()Z

    move-result v0

    if-eqz v0, :cond_1

    .line 472
    if-eqz p1, :cond_0

    .line 473
    const-string v0, "Connection"

    invoke-interface {p0, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->removeHeader(Ljava/lang/String;)V

    .line 484
    :goto_0
    return-void

    .line 475
    :cond_0
    const-string v0, "Connection"

    const-string v1, "close"

    invoke-interface {p0, v0, v1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    goto :goto_0

    .line 478
    :cond_1
    if-eqz p1, :cond_2

    .line 479
    const-string v0, "Connection"

    const-string v1, "keep-alive"

    invoke-interface {p0, v0, v1}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->setHeader(Ljava/lang/String;Ljava/lang/Object;)V

    goto :goto_0

    .line 481
    :cond_2
    const-string v0, "Connection"

    invoke-interface {p0, v0}, Lorg/jboss/netty/handler/codec/http/HttpMessage;->removeHeader(Ljava/lang/String;)V

    goto :goto_0
.end method

.method private static toString(Ljava/lang/Object;)Ljava/lang/String;
    .locals 1
    .parameter "value"

    .prologue
    .line 960
    if-nez p0, :cond_0

    .line 961
    const/4 v0, 0x0

    .line 963
    :goto_0
    return-object v0

    :cond_0
    invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v0

    goto :goto_0
.end method


# virtual methods
.method addHeader(Ljava/lang/String;Ljava/lang/Object;)V
    .locals 3
    .parameter "name"
    .parameter "value"

    .prologue
    .line 792
    invoke-virtual {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->validateHeaderName(Ljava/lang/String;)V

    .line 793
    invoke-static {p2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->toString(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    .line 794
    .local v2, strVal:Ljava/lang/String;
    invoke-static {v2}, Lorg/jboss/netty/handler/codec/http/HttpCodecUtil;->validateHeaderValue(Ljava/lang/String;)V

    .line 795
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v0

    .line 796
    .local v0, h:I
    invoke-static {v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v1

    .line 797
    .local v1, i:I
    invoke-direct {p0, v0, v1, p1, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->addHeader0(IILjava/lang/String;Ljava/lang/String;)V

    .line 798
    return-void
.end method

.method clearHeaders()V
    .locals 4

    .prologue
    .line 888
    const/4 v0, 0x0

    .local v0, i:I
    :goto_0
    iget-object v1, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    array-length v1, v1

    if-ge v0, v1, :cond_0

    .line 889
    iget-object v1, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    const/4 v2, 0x0

    aput-object v2, v1, v0

    .line 888
    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    .line 891
    :cond_0
    iget-object v1, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v3, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v3, v2, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iput-object v3, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->before:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 892
    return-void
.end method

.method containsHeader(Ljava/lang/String;)Z
    .locals 1
    .parameter "name"

    .prologue
    .line 944
    invoke-virtual {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->getHeader(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    if-eqz v0, :cond_0

    const/4 v0, 0x1

    :goto_0
    return v0

    :cond_0
    const/4 v0, 0x0

    goto :goto_0
.end method

.method getHeader(Ljava/lang/String;)Ljava/lang/String;
    .locals 5
    .parameter "name"

    .prologue
    .line 895
    if-nez p1, :cond_0

    .line 896
    new-instance v3, Ljava/lang/NullPointerException;

    const-string v4, "name"

    invoke-direct {v3, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v3

    .line 899
    :cond_0
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v1

    .line 900
    .local v1, h:I
    invoke-static {v1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v2

    .line 901
    .local v2, i:I
    iget-object v3, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    aget-object v0, v3, v2

    .line 902
    .local v0, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    :goto_0
    if-eqz v0, :cond_2

    .line 903
    iget v3, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->hash:I

    if-ne v3, v1, :cond_1

    iget-object v3, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->key:Ljava/lang/String;

    invoke-static {p1, v3}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->eq(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_1

    .line 904
    iget-object v3, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->value:Ljava/lang/String;

    .line 909
    :goto_1
    return-object v3

    .line 907
    :cond_1
    iget-object v0, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    goto :goto_0

    .line 909
    :cond_2
    const/4 v3, 0x0

    goto :goto_1
.end method

.method getHeaderNames()Ljava/util/Set;
    .locals 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Set",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 948
    new-instance v1, Ljava/util/TreeSet;

    sget-object v2, Lorg/jboss/netty/handler/codec/http/CaseIgnoringComparator;->INSTANCE:Lorg/jboss/netty/handler/codec/http/CaseIgnoringComparator;

    invoke-direct {v1, v2}, Ljava/util/TreeSet;-><init>(Ljava/util/Comparator;)V

    .line 951
    .local v1, names:Ljava/util/Set;,"Ljava/util/Set<Ljava/lang/String;>;"
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v0, v2, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 952
    .local v0, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    :goto_0
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    if-eq v0, v2, :cond_0

    .line 953
    iget-object v2, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->key:Ljava/lang/String;

    invoke-interface {v1, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

    .line 954
    iget-object v0, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    goto :goto_0

    .line 956
    :cond_0
    return-object v1
.end method

.method getHeaders()Ljava/util/List;
    .locals 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Ljava/util/Map$Entry",
            "<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;>;"
        }
    .end annotation

    .prologue
    .line 932
    new-instance v0, Ljava/util/LinkedList;

    invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V

    .line 935
    .local v0, all:Ljava/util/List;,"Ljava/util/List<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;"
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    iget-object v1, v2, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    .line 936
    .local v1, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    :goto_0
    iget-object v2, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->head:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    if-eq v1, v2, :cond_0

    .line 937
    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 938
    iget-object v1, v1, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->after:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    goto :goto_0

    .line 940
    :cond_0
    return-object v0
.end method

.method getHeaders(Ljava/lang/String;)Ljava/util/List;
    .locals 6
    .parameter "name"
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .prologue
    .line 913
    if-nez p1, :cond_0

    .line 914
    new-instance v4, Ljava/lang/NullPointerException;

    const-string v5, "name"

    invoke-direct {v4, v5}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v4

    .line 917
    :cond_0
    new-instance v3, Ljava/util/LinkedList;

    invoke-direct {v3}, Ljava/util/LinkedList;-><init>()V

    .line 919
    .local v3, values:Ljava/util/LinkedList;,"Ljava/util/LinkedList<Ljava/lang/String;>;"
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v1

    .line 920
    .local v1, h:I
    invoke-static {v1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v2

    .line 921
    .local v2, i:I
    iget-object v4, p0, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->entries:[Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    aget-object v0, v4, v2

    .line 922
    .local v0, e:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;
    :goto_0
    if-eqz v0, :cond_2

    .line 923
    iget v4, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->hash:I

    if-ne v4, v1, :cond_1

    iget-object v4, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->key:Ljava/lang/String;

    invoke-static {p1, v4}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->eq(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_1

    .line 924
    iget-object v4, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->value:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/util/LinkedList;->addFirst(Ljava/lang/Object;)V

    .line 926
    :cond_1
    iget-object v0, v0, Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;->next:Lorg/jboss/netty/handler/codec/http/HttpHeaders$Entry;

    goto :goto_0

    .line 928
    :cond_2
    return-object v3
.end method

.method removeHeader(Ljava/lang/String;)V
    .locals 4
    .parameter "name"

    .prologue
    .line 812
    if-nez p1, :cond_0

    .line 813
    new-instance v2, Ljava/lang/NullPointerException;

    const-string v3, "name"

    invoke-direct {v2, v3}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v2

    .line 815
    :cond_0
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v0

    .line 816
    .local v0, h:I
    invoke-static {v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v1

    .line 817
    .local v1, i:I
    invoke-direct {p0, v0, v1, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->removeHeader0(IILjava/lang/String;)V

    .line 818
    return-void
.end method

.method setHeader(Ljava/lang/String;Ljava/lang/Iterable;)V
    .locals 7
    .parameter "name"
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            "Ljava/lang/Iterable",
            "<*>;)V"
        }
    .end annotation

    .prologue
    .line 867
    .local p2, values:Ljava/lang/Iterable;,"Ljava/lang/Iterable<*>;"
    if-nez p2, :cond_0

    .line 868
    new-instance v5, Ljava/lang/NullPointerException;

    const-string v6, "values"

    invoke-direct {v5, v6}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v5

    .line 871
    :cond_0
    invoke-virtual {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->validateHeaderName(Ljava/lang/String;)V

    .line 873
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v0

    .line 874
    .local v0, h:I
    invoke-static {v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v1

    .line 876
    .local v1, i:I
    invoke-direct {p0, v0, v1, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->removeHeader0(IILjava/lang/String;)V

    .line 877
    invoke-interface {p2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object v2

    .local v2, i$:Ljava/util/Iterator;
    :goto_0
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v5

    if-eqz v5, :cond_1

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v4

    .line 878
    .local v4, v:Ljava/lang/Object;
    if-nez v4, :cond_2

    .line 885
    .end local v4           #v:Ljava/lang/Object;
    :cond_1
    return-void

    .line 881
    .restart local v4       #v:Ljava/lang/Object;
    :cond_2
    invoke-static {v4}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->toString(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v3

    .line 882
    .local v3, strVal:Ljava/lang/String;
    invoke-static {v3}, Lorg/jboss/netty/handler/codec/http/HttpCodecUtil;->validateHeaderValue(Ljava/lang/String;)V

    .line 883
    invoke-direct {p0, v0, v1, p1, v3}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->addHeader0(IILjava/lang/String;Ljava/lang/String;)V

    goto :goto_0
.end method

.method setHeader(Ljava/lang/String;Ljava/lang/Object;)V
    .locals 3
    .parameter "name"
    .parameter "value"

    .prologue
    .line 857
    invoke-virtual {p0, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->validateHeaderName(Ljava/lang/String;)V

    .line 858
    invoke-static {p2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->toString(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    .line 859
    .local v2, strVal:Ljava/lang/String;
    invoke-static {v2}, Lorg/jboss/netty/handler/codec/http/HttpCodecUtil;->validateHeaderValue(Ljava/lang/String;)V

    .line 860
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->hash(Ljava/lang/String;)I

    move-result v0

    .line 861
    .local v0, h:I
    invoke-static {v0}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->index(I)I

    move-result v1

    .line 862
    .local v1, i:I
    invoke-direct {p0, v0, v1, p1}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->removeHeader0(IILjava/lang/String;)V

    .line 863
    invoke-direct {p0, v0, v1, p1, v2}, Lorg/jboss/netty/handler/codec/http/HttpHeaders;->addHeader0(IILjava/lang/String;Ljava/lang/String;)V

    .line 864
    return-void
.end method

.method validateHeaderName(Ljava/lang/String;)V
    .locals 0
    .parameter "name"

    .prologue
    .line 788
    invoke-static {p1}, Lorg/jboss/netty/handler/codec/http/HttpCodecUtil;->validateHeaderName(Ljava/lang/String;)V

    .line 789
    return-void
.end method
